Conventionally, software is localized in accordance with various languages or dialects. Users speaking any of the selected languages for localization may interact with localized versions of the software. Strings located in software files may be localized by manual or automatic translation. Strings embedded in software code may be extracted, localized, and then reinserted back into the software code. For each localized version of the software, a separate string file is created.
Accordingly, the software may have one string file per localization and at least one file corresponding to default localization. A client device that executes the software may select a localization string file that matches the device's current location. A client device located in China may select the localized string resource having the appropriate Pinyin characters for the strings. A client device in England, however, may select the localized English characters for the strings. When the localized string file is unavailable for the device's current locale, the client device may select the default string file.
To reach a broad base of customers, localization files include other resources beyond strings. The localization files may include audio files, numbers, currency, and graphics that are translated to appropriately reflect the customs and norms of the locales where the software is executed. The client device may be loaded with multiple sets of localization files, each customized for a different device configuration. When a customer runs the software, the client device may select and load the localization file that best matches the device.
Localization of software may be time-consuming and expensive when the number of languages used is large. The localization costs comprise the time and money used to translate the content, create the localization file, and verify the correctness of the localization file. The costs may also include translation delays that impact release or shipment of the software. Accordingly, verifying localization files for the software may increase costs for the customers that execute the software.